<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 视频信息表
 * Class Video
 *
 * @since 2.0
 *
 * @Entity(table="video", pool="db2.pool")
 */
class Video extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 
     *
     * @Column(name="member_id", prop="memberId")
     *
     * @var int
     */
    private $memberId;

    /**
     * 
     *
     * @Column(name="path_url", prop="pathUrl")
     *
     * @var string
     */
    private $pathUrl;

    /**
     * 
     *
     * @Column()
     *
     * @var string|null
     */
    private $cover;

    /**
     * 1:posts视频,2:其它用途
     *
     * @Column()
     *
     * @var int
     */
    private $type;

    /**
     * 
     *
     * @Column(name="created_at", prop="createdAt")
     *
     * @var int
     */
    private $createdAt;

    /**
     * 
     *
     * @Column(name="post_id", prop="postId")
     *
     * @var int|null
     */
    private $postId;

    /**
     * 资源是否存在s3
     *
     * @Column()
     *
     * @var string
     */
    private $existsatcloud;

    /**
     * 0删除1正常
     *
     * @Column()
     *
     * @var int
     */
    private $status;

    /**
     * 视频封面是否存在s3
     *
     * @Column()
     *
     * @var string
     */
    private $coverexists;

    /**
     * 视频封面宽高比 
     *
     * @Column()
     *
     * @var float
     */
    private $ratio;

    /**
     * 转码状态 1:已 0:未
     *
     * @Column()
     *
     * @var int
     */
    private $trans;

    /**
     * 0:取消,1:正常
     *
     * @Column(name="post_status", prop="postStatus")
     *
     * @var int
     */
    private $postStatus;

    /**
     * 商铺id
     *
     * @Column(name="shop_id", prop="shopId")
     *
     * @var int|null
     */
    private $shopId;


    /**
     * @param int $id
     *
     * @return void
     */
    public function setId(int $id): void
    {
        $this->id = $id;
    }

    /**
     * @param int $memberId
     *
     * @return void
     */
    public function setMemberId(int $memberId): void
    {
        $this->memberId = $memberId;
    }

    /**
     * @param string $pathUrl
     *
     * @return void
     */
    public function setPathUrl(string $pathUrl): void
    {
        $this->pathUrl = $pathUrl;
    }

    /**
     * @param string|null $cover
     *
     * @return void
     */
    public function setCover(?string $cover): void
    {
        $this->cover = $cover;
    }

    /**
     * @param int $type
     *
     * @return void
     */
    public function setType(int $type): void
    {
        $this->type = $type;
    }

    /**
     * @param int $createdAt
     *
     * @return void
     */
    public function setCreatedAt(int $createdAt): void
    {
        $this->createdAt = $createdAt;
    }

    /**
     * @param int|null $postId
     *
     * @return void
     */
    public function setPostId(?int $postId): void
    {
        $this->postId = $postId;
    }

    /**
     * @param string $existsatcloud
     *
     * @return void
     */
    public function setExistsatcloud(string $existsatcloud): void
    {
        $this->existsatcloud = $existsatcloud;
    }

    /**
     * @param int $status
     *
     * @return void
     */
    public function setStatus(int $status): void
    {
        $this->status = $status;
    }

    /**
     * @param string $coverexists
     *
     * @return void
     */
    public function setCoverexists(string $coverexists): void
    {
        $this->coverexists = $coverexists;
    }

    /**
     * @param float $ratio
     *
     * @return void
     */
    public function setRatio(float $ratio): void
    {
        $this->ratio = $ratio;
    }

    /**
     * @param int $trans
     *
     * @return void
     */
    public function setTrans(int $trans): void
    {
        $this->trans = $trans;
    }

    /**
     * @param int $postStatus
     *
     * @return void
     */
    public function setPostStatus(int $postStatus): void
    {
        $this->postStatus = $postStatus;
    }

    /**
     * @param int|null $shopId
     *
     * @return void
     */
    public function setShopId(?int $shopId): void
    {
        $this->shopId = $shopId;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return int
     */
    public function getMemberId(): ?int
    {
        return $this->memberId;
    }

    /**
     * @return string
     */
    public function getPathUrl(): ?string
    {
        return $this->pathUrl;
    }

    /**
     * @return string|null
     */
    public function getCover(): ?string
    {
        return $this->cover;
    }

    /**
     * @return int
     */
    public function getType(): ?int
    {
        return $this->type;
    }

    /**
     * @return int
     */
    public function getCreatedAt(): ?int
    {
        return $this->createdAt;
    }

    /**
     * @return int|null
     */
    public function getPostId(): ?int
    {
        return $this->postId;
    }

    /**
     * @return string
     */
    public function getExistsatcloud(): ?string
    {
        return $this->existsatcloud;
    }

    /**
     * @return int
     */
    public function getStatus(): ?int
    {
        return $this->status;
    }

    /**
     * @return string
     */
    public function getCoverexists(): ?string
    {
        return $this->coverexists;
    }

    /**
     * @return float
     */
    public function getRatio(): ?float
    {
        return $this->ratio;
    }

    /**
     * @return int
     */
    public function getTrans(): ?int
    {
        return $this->trans;
    }

    /**
     * @return int
     */
    public function getPostStatus(): ?int
    {
        return $this->postStatus;
    }

    /**
     * @return int|null
     */
    public function getShopId(): ?int
    {
        return $this->shopId;
    }

}
